package connexionOracle;

import java.sql.*;
import oracle.jdbc.pool.OracleDataSource;
import java.io.InputStream;
import java.util.*;

/*** Factory. Classe qui sert àcontenir une méthode statique qui crée* une connexion àOracle àpartir d'un fichier de paramètres de configuration*/
public class ConnexionOracleFactory {

    private ConnexionOracleFactory() {
    }

    public static Connection creerConnexion(InputStream properties) {
        try
        {
            Properties props = new Properties();
            Crypt c = new Crypt();
            c.generateKey();
            props.load(properties);
            OracleDataSource ods = new OracleDataSource();
            ods.setDriverType(props.getProperty("pilote"));
            ods.setPortNumber(new Integer(props.getProperty("port")).intValue());
            ods.setServiceName(props.getProperty("service"));
            ods.setUser(props.getProperty("user"));
            ods.setPassword(c.decrypt(props.getProperty("pwd")));
            ods.setServerName(props.getProperty("serveur"));
            return (ods.getConnection());
        }
        catch (Exception e)
        {
            System.err.println("Erreur lors de la lecture du fichier de configuration pour la connexion");
            return null;
        }
    }
} // Fin ClasseConnexionOracleFactory/**